Tarea 5: Bayesian Inference Part II

CC6104: Statistical Thinking

Integrantes :

Cuerpo Docente:

Fecha límite de entrega:

Índice:

  1. Objetivo
  2. Instrucciones
  3. Referencias
  4. Primera Parte: Preguntas Teóricas
  5. Segunda Parte: Elaboración de Código

Objetivo

a la uuuuultima tarea del curso Statistical Thinking. Esta tarea tiene como objetivo evaluar los contenidos teóricos de la ultima parte del curso, los cuales se enfocan principalmente en aplicar inferencia bayesiana para generar regresiones lineales y estudiar métodos de obtención de la posterior mas poderosos, como es MCMC. Si aún no han visto las clases, se recomienda visitar los enlaces de las referencias.

La tarea consta de una parte teórica que busca evaluar conceptos vistos en clases. Seguido por una parte práctica con el fin de introducirlos a la programación en R enfocada en el análisis estadístico de datos.

Instrucciones:

Referencias:

Slides de las clases:

Videos de las clases:

Documentación:

Primera Parte: Preguntas Teóricas

A continuación, se presentaran diferentes preguntas que abordan las temáticas vistas en clases. Por favor responda cada una de estas preguntas de forma breve, no más de 4 o 5 lineas.

Pregunta 1:

Señale algunos beneficios (no mas de dos) que nos brinda realizar una regresión lineal bayesiana sobre una regresión ajustada por mínimos cuadrados.

1.- La regresión Bayesiana permite entregar información previa (prior) 2.- Dados los resultados (posterior) es posible analizar de mejor manera el grado de incertidubre de estos.

Pregunta 2:

A continuación se presenta un modelo de regresión lineal bayesiana:

\[y_i \sim Normal(\mu, \sigma)\] \[\mu = \beta_0 + \beta_1*x\] \[\beta_0 \sim Normal(10,2)\] \[\beta_1 \sim Normal(0,1)\] \[\sigma \sim Uniform(0,50)\]

En base al modelo presentado, responda las siguientes preguntas:

  • Describa que representa cada una de las lineas del modelo.

  • Señale los parámetros que conforman a la regresión lineal.

  • Que objetivo cumple en el modelo lineal tener una distribución \(Normal(0,1)\) en el parámetro \(\beta_1\).

  • Que propiedad de las regresiones lineales nos entrega \(sigma\).

Respuesta:

Describa que representa cada una de las lineas del modelo.

  • \(y_i\) corresponde a la likelihood, la cual tiene distribución gaussiana.
  • \(\mu\) corresponde a una variable que representa al modelo lineal.
  • \(\beta_0\), \(\beta_1\) y \(\sigma\) corresponden a distribuciones esperadas, es decir, priors. \(\beta_0\) y \(\beta_1\) son gaussianas y \(\sigma\) uniforme.

Señale los parámetros que conforman a la regresión lineal

Los parámteros \(\beta_0\) y \(\beta_1\) son los interceptos de la regresión lineal. Por su parte, x corresponde a la entrada del modelo.

Que objetivo cumple en el modelo lineal tener una distribución \(Normal(0,1)\) en el parámetro \(\beta_1\)

El parámetro \(\beta_1\) indica la relación entre \(\mu\) y x, es por esto que se le entrega un rango de valores negativos y positivos, pasando por el cero, ya que existe la posibilidad de que la relación sea nula.

Que propiedad de las regresiones lineales nos entrega \(sigma\).

\(\sigma\) corresponde a la desviación estandar de la linalización, es decir, de \(\mu\).

Pregunta 3:

Explique de forma resumida como funciona el algoritmo de Laplace approximation utilizado para la regresión lineal. Señale el porque existe la necesidad de aplicar este modelo y los supuestos que se realizan con este método.

Respuesta:

Este método es conveniente mayormente para posteriores unimodales y simetrias, es decir, con distribuciónes aproximables por funciones gaussianas.

Laplace aproximation asume que el posterior tiene una distribución multivariable gaussiana. Esto se puede expresar de la siguiente forma:

\[ f(θ_1,..., θ_m|d) = N( \overrightarrow{\mu,} Σ). \] > Donde \(\overrightarrow{\mu,}\) corresponde al vector de medias y \(Σ\) a la matriz de covarianza.

Para este método no es necesario calcular el posterior normalizado, es decir, no se debe calcular f(d), lo cual es generalmente muy costoso de computar.

Pregunta 4:

Determine si las siguientes afirmaciones son verdaderas o falsas. Justifique las falsas.

  • El algoritmo de metropolis hasting solo funciona si la probabilidad de saltar de B a A es la misma que de A a B.
  • El algoritmo de Gibbs funciona en cualquier caso.
  • El algoritmo de metropolis hasting y de Gibbs son el mismo algoritmo, pero este ultimo es una variante del primero.

Respuesta Aquí

[F] El algoritmo de metropolis hasting solo funciona si la probabilidad de saltar de B a A es la misma que de A a B

El algoritmo de Metropolis trabaja con distribuciones simetricas, donde saltar de B a A es la misma que de A a B. Por su parte, el algoritmo de metropolis hasting es más general y permite distribuciones asimetrias del posterior.

[V] El algoritmo de Gibbs funciona en cualquier caso.

El algoritmo de Gibbs, al ser una variante del algoritmo de Metropolis hasting, permite distribuciones asimetrias del posterior.

[V] El algoritmo de metropolis hasting y de Gibbs son el mismo algoritmo, pero este ultimo es una variante del primero.

El algoritmo de Gibbs corresponde a una variante del algoritmo de Metropolis hasting. En esta variante se recorre un parámtero a la vez, igualando la “proposal distribution” al posterior.

Pregunta 5:

El algoritmo de Gibbs es mas eficiente que el de metropolis hasting. ¿Como se logra este efecto? ¿Existe alguna limitante de esta estrategia?

La eficiencia viene de recorrer un parámtero a la vez, igualando la “proposal distribution” al posterior en el parámetro de turno. Con esto, la “proposal distribution” siempre es aceptada.

Este método tiene dos principales limitaciones. Primero, los casos donde no se quiete trabajar con priors conjugados. Segundo, lo casos donde se tiene un gran número de variables.

Pregunta 6:

De una ventaja y una desventaja del algoritmo HMC.

Como desventaja se tiene un mayor costo computacional, devido al trabajo con gradientes. Como ventaja, se tiene que es má eficiente al obtener respuestas, y como consecuencia requiere de menos datos para poder obtener buenos resultados.

Pregunta 7:

Nombre y explique dos propiedades que son deseables en una cadena de Markov.

Se desea que una cadena de Markov tenga estacionalidad, es decir, converger a la posterior y varíar en su vecindad. Además, se desea que sea aleatoria (well mixing), es decir, que no haya correlacion entre los datos, lo cual se representa como tendencias en el tiempo.

Pregunta 8:

Explique cómo cross-validation, criterios de información y regularización ayudan a mitigar o medir los problemas de underfitting y overfitting.

Respuesta Aquí

Pregunta 9:

Diseñe una DAG para un problema causal inventado por usted de al menos 5 nodos (puede basarse en el ejemplo de Eugene Charniak) usando Dagitty y considere que la DAG tenga al menos: una chain, un fork y un collider. Muestre con dagitty todas las independencias condicionales de su DAG. Explique las independencias usando las reglas de d-separación.

Respuesta Aquí


Segunda Parte: Elaboración de Código

En la siguiente sección deberá resolver cada uno de los experimentos computacionales a través de la programación en R. Para esto se le aconseja que cree funciones en R, ya que le facilitará la ejecución de gran parte de lo solicitado.

Para el desarrollo preste mucha atención en los enunciados, ya que se le solicitará la implementación de métodos sin uso de funciones predefinidas. Por otro lado, Las librerías permitidas para desarrollar de la tarea 4 son las siguientes:

# Manipulación de estructuras
library(tidyverse)
library(dplyr)
library(tidyr)

# Para realizar plots
library(scatterplot3d)
library(ggplot2)
library(plotly)

# Manipulación de varios plots en una imagen.
library(gridExtra)

# Análisis bayesiano
library("rethinking")

Si no tiene instalada la librería “rethinking”, ejecute las siguientes líneas de código para instalar la librería:

install.packages("rethinking")

En caso de tener problemas al momento de instalar la librería con el código anterior, utilice las siguiente chunk:

install.packages(c("mvtnorm","loo","coda"), repos="https://cloud.r-project.org/",dependencies=TRUE)
options(repos=c(getOption('repos'), rethinking='http://xcelab.net/R'))
install.packages('rethinking',type='source')

Pregunta 1: Regresión Lineal Bayesiana

El objetivo de esta pregunta es introducirlo en la aplicación de una regresión bayesiana. Con esto, buscaremos entender como calcular una regresión bayesiana en base al “motor” aproximación de Laplace, revisando como se comporta la credibilidad de sus predicciones y como la regresión lineal puede llegar a mutar a aplicar una transformación en el vector \(x\). Para responder esta pregunta centre su desarrollo solo en las clases y las funciones que nos brinda la librería rethinking.

Unos expertos en alometría deciden realizar un estudio de las alturas de unos niños en un colegio, buscando generar un regresor lineal bayesiano capaz de predecir la altura en base al peso de los alumnos. Para realizar este trabajo recopilan los datos table_height.csv, quien posee observaciones fisiológicas de 192 alumnos.

Parte I

En conocimiento los datos recopilados por los expertos, le solicitan realizar la siguiente serie de tareas:

  • Defina un modelo de regresión bayesiana, definiendo sus propios priors. Comente cada una de sus asunciones y señale a través de ecuaciones el modelo. Para definir los priors puede ser interesante la información recopilada en el siguiente link: Priors
  • Ajuste el modelo lineal utilizando el método de Laplace approximation. Estudie a través del comando precis los resultados obtenidos y coméntelos.
  • Gráfique el MAP de regresión lineal obtenida, añadiendo al gráfico el intervalo del \(95\%\) que se tiene sobre la media y los valores predecidos de la altura. Comente los resultados obtenidos y señale si su modelo logra ser un buen predictor de los valores estudiados.

Parte II

En base a los resultados obtenidos, el experto que trabaja con usted le señala que las alturas se suelen modelas con pesos logarítmicos, por lo que le sugiere añadir un logaritmo natural en el vector \(x\) que compone su modelo lineal. Realice nuevamente la regresión utilizando un intervalo del \(95\%\) sobre la media y los valores predecidos de la altura. Comente los resultados obtenidos, señalando si el modelo logra ajustar mejor los valores.

Respuesta:

Respuesta Aquí

Pregunta 2: MCMC

El objetivo de esta pregunta es lograr samplear, mediante la técnica de MCMC, la distribución gamma.

En general la distribución gamma se denota por \(\Gamma(\alpha,\beta)\) donde \(\alpha\) y \(\beta\) son parámetros positivos, a \(\alpha\) se le suele llamar “shape” y a \(\beta\) rate La densidad no normalizada de una distribución gamma esta dada por:

\[ f(x\mid \alpha,\beta) = \begin{cases} x^{\alpha -1}e^{-\beta x} ~ &\text{ si } x > 0\\ 0 ~&\text{si } x \leq 0 \end{cases} \]

  • Implemente el algoritmo de metropolis hasting utilizando \(q(\theta^{(t)} \mid \theta^{(t-1)}) = \mathcal{N}(\theta^{t-1},1)\), importante su función tiene que poder recibir:
    • La condición inicial \(\theta_{0}\).
    • Cantidad de repeticiones.
    • \(\alpha\) y \(\beta\).
    Escriba el algoritmo sin utilizar implementenaciones de la distribución gamma en r.

De ahora en adelante considere \(\alpha = 5\) y \(\beta = \frac{1}{5}\).

  • Considere \(\theta_{0} = 1\), grafique el histograma que obtiene para distintas cantidad de repeticiones, entre sus pruebas tiene que tener al menos una que tenga del orden de \(10^5\) repeticiones ¿Como cambia la distribución en funcion de las repeticiones?
  • Considere distintos valores de \(\theta_{0}\) y una cantidad de repeticiones grande (del orden de \(10^5\)), grafique las distribuciones que obtenga comente sus resultados ¿es importante la condición inicial del algoritmo?.
  • Utilizando \(\theta_{0}\) y cantidad de repeticiones conveniente (de acuerdo a lo que obtuvo en las partes anteriores) compare con la distribución real. Obs: En esta parte puede utilizar la distribución gamma que tiene implementado r para comparar con lo que usted realizo.

Respuesta:

Respuesta Aquí

 

A work by CC6104